package main

import (
	"fmt"
)

// 1位整数类型 0-9
type SingleInt func(i int) bool

// 回调函数方法
func main() {
	fmt.Println("是否个位数：", 
		// 使用匿名函数作为参数传值
		checkSingle(20, func(m int) bool {
				fmt.Println("judge sinleInt", m)
				return m <= 9 && m >=0
			}))
}

func checkSingle (i int, f func(int) bool) string {
	// 匿名函数强制转化为SingleInt类型
	if SingleInt(f).exec(i) {
		return "是"
	}
	return "否"
}

func (s SingleInt) exec(i int) bool {
	fmt.Printf("its %d \r\n", i)
    return s(i)
}

type Print interface {
	exec(i int) bool
}

